//
//  SWMainTabBarController.swift
//  STslender
//
//  Created by mac on 15/12/5.
//  Copyright © 2015年 itcast. All rights reserved.
//

import UIKit

class SWMainTabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        let tabBar  =  SWTabBar()
        
        tabBar.backgroundImage = UIImage(named: "tabbar_background")
        
        tabBar.buttonClosure = {[weak self] in
            
            print("点击了自定义button")
            print(self?.view)
            
        }
        
         //只读属性 设置值 用kvc
        //KVC：很暴力，及时一个类的属性是私有的，而且也没有get/set方法，同样可以读写
        //破坏类的封装性
        //这里setValue方法：第一个参数是value,第二个参数是key(就是类的属性名称)
        //KVC设置值时，如果属性有set方法，则优先调用set方法，如果没有则直接设置上去，get方法类似 
        setValue(tabBar, forKeyPath: "tabBar")
        
        
        
        
        
        
        //调用 添加 子 控制器方法
        
        addChildViewController(SWHomeController(), imge:"tabbar_home", title: "首页")
         addChildViewController(SWMessageController(), imge: "tabbar_message_center", title: "信息")
        addChildViewController(SWDiscoverController(), imge: "tabbar_discover", title: "发现")
         addChildViewController(SWProfileController(), imge: "tabbar_profile", title: "我")
        
        
        

    }

    
    //添加 自控制器
    

    func addChildViewController(childController: UIViewController , imge:String ,title: String ) {
        
         childController.title = title
        
        childController.tabBarItem.image = UIImage(named: imge)
         // 渲染图片以原样显示
         childController.tabBarItem.selectedImage = UIImage(named: "\(imge)_selected")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
        
          // 设置 tabbar title 颜色
//        childController.tabBarItem.titleTextAttributesForState([NSForegroundColorAttributeName: UIColor.orangeColor()],forstate: .selected)
        
        childController.tabBarItem.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.orangeColor()], forState: UIControlState.Selected)
        
        
        
        //添加 子控制器
        addChildViewController(SWNavigationController(rootViewController: childController))
        
        
    
    }

    
    
    



}
